NSNumber的用法
在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。 NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。
数字对象的初始化
// 类方法创建数字对象
int number = 10;
NSNumber * intNumber = [NSNumber numberWithInt:number];
BOOL isBool = YES;
NSNumber * boolNumber = [NSNumber numberWithBool:isBool];
// 实例方法创建对象
float pi = 3.14;
NSNumber * piNumber = [[NSNumber alloc]initWithFloat:pi];
char character = 'a';
NSNumber * cNumber = [[NSNumber alloc]initWithChar:character];
数字对象的转换
// 还原成基本类型
int month = [intNumber intValue];
BOOL isbool = [boolNumber boolValue];
float leng = [piNumber floatValue];
char chara = [cNumber charValue];